package org.example;

import org.example.com.editor.command.CommandParser;
import org.example.com.editor.logger.LogManager;
import org.example.com.editor.ui.ConsoleUI;
import org.example.com.editor.workspace.Workspace;

//TIP 要<b>运行</b>代码，请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
public class Main {
    public static void main(String[] args) {
        // 初始化核心组件
        LogManager logManager = new LogManager();
        Workspace workspace = new Workspace(logManager);
        ConsoleUI ui = new ConsoleUI();
        CommandParser parser = new CommandParser(logManager);

        ui.printInfo("欢迎使用文本编辑器！！");

        // 命令循环（持续接收输入并执行）
        while (true) {
            try {
                String input = ui.readInput();
                parser.parseAndExecute(input, workspace, ui);
            } catch (Exception e) {
               ui.printError("执行命令失败：" + e.getMessage());
            }
        }
    }
}